基礎型別
複合/物件型別
6. 物件(Object):用於儲存多個值,這些值以鍵值對的形式組織,例如 { name: "Ann", age: 18 }。
7. 陣列(Array):用於儲存一系列有序的值,例如 [1, 2, 3, 4]。
typeof
語法可以用來判斷JavaScript的型別,譬如字串(String)跟數值(Number)。
typeof "Hi, I am a string";
console.log(typeof "Hi, I am a string"); // string
typeof 100;
console.log(typeof 100); // number
在 JavaScript 中,typeof 操作符可以用來判斷變數的型別,但對於某些型別,typeof 的結果可能會有些限制。以下是如何用 typeof 判斷常見型別的方式:
布林(Boolean):
let boolValue = true; console.log(typeof boolValue); // "boolean"
未定義(Undefined):
let undefinedValue; console.log(typeof undefinedValue); // "undefined"
空值(Null):
typeof 對於 null 的返回值是 "object",這是 JavaScript 的一個歷史性錯誤。要專門檢查 null,需要另外的判斷:let nullValue = null; console.log(typeof nullValue); // "object" console.log(nullValue === null); // true
物件(Object):
let objectValue = { key: "value" }; console.log(typeof objectValue); // "object"
陣列(Array):
null
typeof 陣列會顯示為 "object",所以需要額外檢查 Array.isArray() 來確定變數是否為陣列:
nulllet arrayValue = [1, 2, 3]; console.log(typeof arrayValue); // "object" console.log(Array.isArray(arrayValue)); // true
簡單來說:
布林(Boolean) 會顯示 "boolean"。
未定義(Undefined) 會顯示 "undefined"。
空值(Null) 會顯示 "object",需要額外檢查 null。
物件(Object) 和 陣列(Array) 都會顯示 "object",但可以用 Array.isArray() 確定是否為陣列。